home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Prog / M / MacsBug 6.2.2.cpt / MacsBug 6.2.2 / Read Me < prev    next >
Text File  |  1991-11-19  |  7KB  |  185 lines

  1. =================================================
  2.  
  3. MacsBug 6.2.2    7/17/91    © Apple Computer, Inc. 1981-91
  4.  
  5. Bugs fixed in 6.2.2
  6.  
  7. A cache problem that killed MacsBug at startup on a 68040 
  8. is solved by flushing the caches where necessary.
  9.  
  10. A 68040 timing error related to cursor flash and key debounce 
  11. was fixed.
  12.  
  13. Branch prediction routine used self modifying code to execute the
  14. actual branch to make the prediction.  On a 68040, the modified
  15. instruction was in the data cache, so it didn't execute properly 
  16. since the modified instruction was not loaded in the instruction 
  17. cache.  Branch prediction is now implemented using a table lookup.
  18.  
  19. Breakpoints set close to current PC were missed since cache
  20. was not flushed to read in break point.  Cache is now flushed to
  21. read in new breakpoints.
  22.  
  23. Trap symbols were brought up to date (HFSDispatch is defined).
  24.  
  25. =================================================
  26.  
  27. MacsBug 6.2.1    5/20/91    © Apple Computer, Inc. 1981-91
  28.  
  29. Bugs fixed in 6.2.1
  30.  
  31. Interrupts are reenabled by the RS and RB commands, 
  32. eliminating the irritating hang experienced with these 
  33. commands when running System 7.0.
  34.  
  35. Macsbug 6.2 mismanaged the bus error vector under some 
  36. circumstances, causing disassembly (the IL command or updating 
  37. the PC disassembly pane) to crash if Macsbug caused a bus error
  38. while trying to follow bad address values.  Macsbug 6.2.1 
  39. manages the vector correctly.
  40.  
  41. Macsbug 6.2 turned on interrupts while the HS (heap scramble) 
  42. routine ran, to avoid jerky mouse movement.  This caused a 
  43. problem with managing supervisor/user mode correctly when
  44. running under VM.  For this release, interrupts remain disabled 
  45. to prevent this problem.
  46.  
  47. =================================================
  48.  
  49. MacsBug 6.2    1/25/91    © Apple Computer, Inc. 1981-91
  50.  
  51. You should use the “Debugger Prefs” included with this MacsBug.
  52. It contains macros, templates, dcmds, and the C++ name unmangler.
  53. You may add your own resources to “Debugger Prefs”,
  54. or remove some to decrease memory usage.
  55.  
  56. =================================================
  57.  
  58. New features since 6.1
  59.  
  60. MacsBug 6.2 supports the Macintosh Plus and all newer
  61. Macintosh models. These are the Macintosh Plus, SE, II, IIx,
  62. IIcx, SE30, Portable, IIci, IIfx, Classic, IIsi and LC.
  63.  
  64. MacsBug 6.2 works reliably with all Apple monitors and all
  65. third-party monitors if their slot ROM and driver software
  66. have been designed according to the guidelines presented
  67. in Designing Cards and Drivers for the Macintosh II and
  68. Macintosh SE, with and without 32 bit QuickDraw.
  69.  
  70. MacsBug 6.2 runs under A/UX 2.0.
  71.  
  72. Typing Command-D instead of Command-; with an international
  73. keyboard accesses the symbol list.
  74.  
  75. If the selected symbol in the scrollable list contains a
  76. C++ or Object Pascal class name, then pressing the tab key
  77. qualifies the list by that name.
  78.  
  79. MacsBug 6.2 displays the name of the current application,
  80. the memory management scheme (24 bit/32 bit) currently used,
  81. and whether you are running and have access to virtual memory.
  82.  
  83. New options for the Find command allow you to specify the width
  84. of the pattern for which MacsBug searches. One of these options
  85. allows MacsBug to look for 24 bit pointers.
  86.  
  87. The heap dump display is more detailed and works with 24 bit
  88. and 32 bit heaps.
  89.  
  90. An extension to the GT command allows you to specify
  91. one or more MacsBug commands to be executed
  92. once the specified breakpoint is reached.
  93.  
  94. Beginning with MacsBug 6.1 (but not documented),
  95. the DebugStr trap was extended so that you could include
  96. one or more commands in the message string to DebugStr.
  97. After MacsBug is invoked by the DebugStr trap, in addition
  98. to displaying a message specified with DebugStr, MacsBug
  99. executes the command(s) included in the message for DebugStr.
  100. The syntax for the call is as follows:
  101.  
  102. DebugStr ("string [; cmd]")
  103.   string is the message to display.
  104.   cmd is a MacsBug command or macro.
  105.  
  106. Example:
  107.  
  108. DebugStr ("Checking the heap ;hc ;g")
  109.  
  110. This routine invokes MacsBug, display the message "Checking
  111. the Heap", does a heap check, and resumes execution of the
  112. program.
  113.  
  114. The printf dcmd included in “Debugger Prefs” allows you to
  115. produce formatted output.
  116.  
  117. =================================================
  118.  
  119. Changes after the 6.2 release notes went final
  120.  
  121. The 'mxbh' help resource now resides in the “MacsBug” file
  122. of MacsBug 6.2.
  123.  
  124. SC6, SC7, and HZ take optional parameters. More information on
  125. these parameters can be obtained from the help command.
  126.  
  127. The SC commands allow to crawl stacks anywhere in the memory.
  128. HZ knows about embedded, 24 bit, and 32 bit heaps.
  129. HX allows to switch to partially damaged heaps.
  130. HD knows a new Q option and displays an additional summary line.
  131.  
  132. HZ and HD display partially damaged blocks and heaps with ! or ?
  133. next to the address.
  134.  
  135. If an address is in a known resource but not in a known
  136. procedure then an artificial symbol may be displayed by MacsBug.
  137. E.g. 'CODE 0006 0C20 Pickers'+0262 indicates the address which
  138. is $262 bytes offset into CODE 6 resource, named "Pickers", of
  139. file $0C20.
  140.  
  141. =================================================
  142.  
  143. We know about some bugs :
  144.  
  145. If ATR is on and A0 points into hardware registers on some
  146. NuBus cards then reading the bytes which A0 points to may
  147. cause the card to perform erratically (e.g. video flickering,
  148. network malfunction).
  149. For now try to use ATT instead in such situations.
  150.  
  151. Sometimes MacsBug loses FPU status when an NMI interrupts
  152. two consecutive FPU instructions.
  153. If you encounter this use _DebugStr instead of hitting the NMI.
  154.  
  155. There are still problems with a few video cards and video
  156. drivers.
  157. For now if you have more than one screen try to run MacsBug
  158. on the other screen.
  159.  
  160. If you use a pre-release of System 7.0 and switch VM on then
  161. use common sense to avoid :
  162. - using the MacsBug Find command over NuBus card memory
  163. - searching for symbols in memory that is swapped to disk
  164.   (you may want to consider using the SX command)
  165.  
  166. ATHC sometimes reports an invalid heap if the Memory Manager
  167. calls _BlockMove while the heap zone free bytes are not yet
  168. adjusted.
  169. For now ignore these warnings or use ATHCA.
  170.  
  171. The source code provided for dcmds requires MPW 3.1 to build
  172. the dcmds. It currently does not build with MPW 3.2.
  173. This does not affect the execution of the dcmds included in
  174. the file “Debugger Prefs”.
  175.  
  176. =================================================
  177.  
  178. In addition to these specific changes,
  179. you should find MacsBug 6.2 easier to use.
  180.  
  181. Whenever possible its output has been made more articulate
  182. and its displays more intelligible.
  183.  
  184. Feedback is an important and appreciated contribution.
  185.